package com.example.demo.mp.entity.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.example.demo.core.base.BizEntity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 画布定义
 * </p>
 *
 * @author JXY
 * @since 2022-03-24
 */
@Data
@EqualsAndHashCode(callSuper = true)
@TableName("canvas_info")
public class CanvasInfoEntity extends BizEntity<CanvasInfoEntity> {

    private static final long serialVersionUID = 1L;

    /**
     * 画布名称
     */
    @TableField("name")
    private String name;

    /**
     * 客群标识
     */
    @TableField("user_group_symbol")
    private String userGroupSymbol;

    /**
     * 客群id
     */
    @TableField("user_group_id")
    private Long userGroupId;

    /**
     * 限制客群中途加入  0-不限制  1-限制
     */
    @TableField("middle_access_status")
    private Integer middleAccessStatus;

    /**
     * 画布状态:CanvasStatusEnum
     */
    @TableField("status")
    private Integer status;

    /**
     * 画布开启时间形式:DelayTypeEnum
     */
    @TableField("start_type")
    private Integer startType;

    /**
     * 发布时间
     */
    @TableField("publish_time")
    private Long publishTime;

    /**
     * 画布失效时间
     */
    @TableField("invalid_time")
    private Long invalidTime;

    /**
     * 限制每个用户流程进入次数  0为不限制
     */
    @TableField("limit_count")
    private Integer limitCount;

    /**
     * 周期类型 (业务只能月、周、日):TimeTypeEnum
     */
    @TableField("cycle_type")
    private Integer cycleType;

    /**
     * 配置的周期的值
     */
    @TableField("cycle_value")
    private Integer cycleValue;

    /**
     * 周期的时分秒 格式 "HH:mm:ss"
     */
    @TableField("cycle_day_time")
    private String cycleDayTime;

    /**
     * 累计进入画布数量（各节点进入人数总计）
     */
    @TableField("enter_count")
    private Long enterCount;

    /**
     * 画布中的触达成功数量 (数量)
     */
    @TableField("reach_count")
    private Long reachCount;


    @Override
    protected Serializable pkVal() {
        return null;
    }

}
